經過一連串~ brain storming, debug, paper studying, writing articles, positive of covid... hahaha jk lmao
However, I realised that my health is the piority! As a life where you have the energy to focus on everything else you want and dream of.
So, let's have a break for coding some simple python games.
Those games are my first side project, which also my self-study of Python before I start the AI and Big Data program. I learned it from the "小象學堂" which is a wechat account (kinda like wechat python learning robot ?!) that I have given from my brother. (p.s. My siblings were engineer before I be an AI RD/PM... but I'm the only one, who still alive in this field ... well life is hard... it's another story~ haha LOL, let come back to the article )
「52週存錢法」 這個遊戲很簡單,其實就是採取階梯式遞增的方式,每個星期挑戰自己要比上一週多存一點,你可以從每週10元的入門版開始挑戰,52週後就可以存到將近1萬3780元。很巧的是,這52週存下的1萬3780元,剛好跟許多理財入門書所舉的存錢目標接近:每年投入1萬4000元本金,在年報酬率20% 的複利情況下,40年後,你的存款將超過1億元!
當然這裡面有過於理論的假設,光年報酬20% 就不易做不到,更何況是連續40 年。不過,這個假設還是提醒我們一個基本觀念:平時要累積小錢,經過複利變大錢。只要把每年多存下來的1萬3780元,透過定期投資的方式,轉進幾檔穩定的績優股票,那麼時間一久,不管是領取的股息或是資本利得,都是一筆可觀的獲利。用比較容易達成的10%報酬率來算,40年下來能存到約670萬元,這些錢不管是補貼退休金,還是出國玩,都不成問題!
階梯式的存錢法已經流行蠻多年了,第一週存50元,第二週存100元,第三週存150元…..(每週比上週多存$50元)第52週過後就可以存下 68,900元,出國玩一趟的旅費就存出來了。若或者, 你每週都能比上一週多存100元,一年下來,更能多存13萬7800元。
這筆錢可以支付1~2趟長程旅行,也能帶著全家出國去度假,或是當作投資股票、基金的本錢,開始用錢滾錢的人生。
A. 執行程式前, 所需修改的程式參數如下:
money_per_week = 10 -----------每週你想要存入的金額
increase_money = 10------------每週你想遞增的金額
saving = 0 --------------------帳戶開始累積的金額
B. 若你覺得存一年52週太久了~ 也可以改 total_week = 52
改成你想存錢的週數
def main():
"""
主函數
"""
money_per_week = 10 #每週的存入金額
i = 1 #記錄週數
increase_money = 10 #遞增的金額
total_week = 52 #總共的週數
saving = 0 #帳戶累積
while i <= total_week:
#存錢操作
#saving = saving + money_per_week
saving += money_per_week
#輸出信息
print('第{}周, 存入{}元, 帳戶累計{}元'.format(i, money_per_week, saving))
#更新下一周的存錢金額
money_per_week += increase_money
i += 1
if __name__ == '__main__':
main()
使用者須數入以下:
程式算出結果:
4. 輸出 "總存款金額"
import math
def main():
"""
主函數
"""
money_per_week = 10 #每週的存入金額
i = 1 #記錄週數
increase_money = 10 #遞增的金額
total_week = 52 #總共的週數
saving = 0 #帳戶累積
money_list = [] #記錄每週存款數的列表
while i <= total_week:
# #存錢操作
# #saving = saving + money_per_week
# saving += money_per_week
money_list.append(money_per_week)
saving = math.fsum(money_list)
#輸出信息
print('第{}周, 存入{}元, 帳戶累計{}元'.format(i, money_per_week, saving))
#更新下一周的存錢金額
money_per_week += increase_money
i += 1
if __name__ == '__main__':
main()
使用者須數入以下:
程式算出結果:
5. 輸出 "第你想存週數
週的存款:"
import math
from datetime import datetime
def save_money_in_n_weeks(money_per_week, increase_money, total_week):
"""
計算n周內的存款金額
"""
money_list = [] #記錄每周存款數的列表
saved_money_list = [] #記錄每週帳戶累計
for i in range(total_week): #don't have to add i + = 1
money_list.append(money_per_week)
saving = math.fsum(money_list)
saved_money_list.append(saving)
#輸出信息
#print('第{}周, 存入{}元, 帳戶累計{}元'.format(i + 1, money_per_week, saving))
#更新下一周的存錢金額
money_per_week += increase_money
return saved_money_list
def main():
"""
主函數
"""
money_per_week = float(input('請輸入每週的存入金額:')) #每週的存入金額
increase_money = float(input('請輸入遞增的金額:')) #遞增的金額
total_week = int(input('請輸入總共的週數:')) #總共的週數
#調用函數
saved_money_list = save_money_in_n_weeks(money_per_week, increase_money, total_week)
input_date_str = input('請輸入日期(yyyy/mm/dd):')
input_date = datetime.strptime(input_date_str, '%Y/%m/%d')
week_num = input_date.isocalendar()[1]
print('第{}週的存款:{}元'.format(week_num, saved_money_list[week_num -1]))
if __name__ == '__main__':
main()